#ifndef __MDT10F272_CONFIG_H__
#define __MDT10F272_CONFIG_H__

#include "bsp-272cfg.h"

//***************************	内部振荡器频率(Fosc)选择位	********************************
// 振荡器频率MHZ，这不是设置项，是告诉其他组件振荡器频率。振荡器频率由选项字节决定。
#define MCU_FOSC 16

// FOSC校准值选择。0-选择出厂校准值，1-选择FOSCTRIM里的校准值（用户自己调节）。
#define MCU_FOSC_TRIM_SEL   0

// FSYS时钟源选择
// 0 - LFINTOSC(32KHZ)
// 1 - FOSC/64
// 2 - FOSC/32
// 3 - FOSC/16
// 4 - FOSC/8
// 5 - FOSC/4(默认,可节省代码量)
// 6 - FOSC/2
// 7 - FOSC/1
#define MCU_FSYS_SEL 6

// 中断使能状态的初始值，在这里统一初始化，使能
#define MCU_INTS_INIT PEIE_EN | T0IE_EN | PAIE_EN
#define MCU_PIFB1_INIT TIM2IE_EN | TIM1IE_EN
#define MCU_PIFB0_INIT INT1IE_EN | ADCIE_EN

// 以下配置选项在调用了对应外设的初始化函数后生效

// INT引脚中断有效跳变 1:上升沿；0:下降沿
#define INT_EDG 0

// TIM0初始化配置

#define TIM0_CLK_SOURCE 0 // 时钟源。0:FSYS/4,1:T0CKI（外部管脚，一般用于计数或者精准计时）.
#define TIM0_SE 0         // T0CKI有效跳变设置。0:上升沿，1：下降沿
#define TIM0_PS 6         // 预分频比。0~7分别为2、4、8、16、32、64、128、256分频。TIM0时钟频率 = FSYS/4/预分频比。
#define TIM0_CYCLE 156    // 周期值。

//TIM1初始化配置

#define TIM1_CLKDIV     1           // TIM分频。0~3分别代表FOSC的1、2、4、8分频。
#define TIM1_CYCLE      255         // TIM计数周期，0~4095
#define TIM1_ONLY_USE_HIGH_8_BIT    //定义表示配置为只用高8位，不定义使用12位
#define TIM1_RUN        1           // 1:初始化后立即运行
//LED
#define TIM1_CH0_DIR    1           // 输出极性。0:正向；1:反向
#define TIM1_CH0_EN     0           // 1：使能(初始化后立即开始输出)
#define TIM1_CH0_PORT   1           // 0:PC5,1:PA0，设置CH0(PWMA0)的管脚。
//RHC
#define TIM1_CH1_DIR    1           // 输出极性。0:正向；1:反向
#define TIM1_CH1_EN     0           // 1：使能(初始化后立即开始输出)
#define TIM1_CH1_PORT   1           // 0:PC4,1:PA1，设置CH1(PWMA1)的管脚。

//TIM2初始化配置
//SPWM,SUART
#define TIM2_CLKDIV     0           // TIM分频。0~3分别代表FSYS的1、2、4、8分频。
#define TIM2_CYCLE      1599         //TIM计数周期，0~4095
// #define TIM2_ONLY_USE_HIGH_8_BIT//定义表示配置为只用高8位，不定义使用12位
#define TIM2_RUN        1           // 1:初始化后立即运行

#define TIM2_CH0_DIR    0           // 输出极性。0:正向；1:反向
#define TIM2_CH0_EN     0           // 1：默认使能(初始化后立即开始输出)
#define TIM2_CH0_PORT   0           // 0:PC3,1:PA2，设置CH0(PWMB0)的管脚。

#define TIM2_CH1_DIR    0           // 输出极性。0:正向；1:反向
#define TIM2_CH1_EN     0           // 1：默认使能(初始化后立即开始输出)
#define TIM2_CH1_PORT   0           // 0:PC0,1:PA5，设置CH1(PWMB1)的管脚。

// ADC 初始化配置

#define ADC_CLK_SEL() ADSCKDIV_16() // ADC时钟选择。0：FSYS/8；1：FSYS/16；2：FSYS/32；3：FRC（专用32KHZ RC）
#define _ADC_RUN_TIMEOUT        5       // 转换超时，当Adc_Start转换超时后会调用 Adc_EventError 。计时周期取决于 Adc_EvTimer() 的调用周期。
// 定义转换完毕回调函数
#define Adc_EventDone(adv)     RHC_EvADCCompleted(adv)
// 定义转换错误回调函数
#define Adc_EventError()        //{Board_EvADCError();}
#endif
